|
Программируем по-русски
|
Основная задача Глагола — дать человеку возможность воплощать свои мысли на языке, близком к его родному языку. Издатель Глагола
|
(*~\Глагол\Отделы\Поле~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*) (**) ОТДЕЛ ПолеСВосклицанием; (*============================================================================* * НАЗНАЧЕНИЕ: вывод записки *============================================================================*) ИСПОЛЬЗУЕТ Надел, Поле, Подложка, Записка, Черта, Кнопка, Ввод ИЗ "..\Обмен\"; (******************************************************************************) ЗАДАЧА Приём(поле:Поле.Доступ; посылка+:Ввод.Посылка); (* получить и обработать управляющие послания *) УКАЗ ДЛЯ посылка ВИДА | Ввод.ОтКлавиш: ЕСЛИ (посылка.код = 1BH) (* Esc *) ИЛИ (посылка.код = 79H) (* F10 *) ТО поле.состояние:=Поле.сДалее; посылка.код:=0 КОН | Кнопка.Посылка: поле.состояние:=посылка.кнопка.действие ИНАЧЕ КОН КОН Приём; (******************************************************************************) ЗАДАЧА Выполнить-( (* Цель: осуществить вывод текста *) (******************************************************************************) (* До: *) заголовок-:ЦЕПЬ; (* заголовок подложки *) строк:ЦЕЛ; (* желаемая высота текста *) колонок:ЦЕЛ; (* желаемая ширина текста *) окружение:Поле.Доступ;(* окружающее поле *) текст-:ЦЕПЬ (* выводимый текст *) ); (******************************************************************************) ПОСТ (* цепочки для кнопок *) цДалее="[ Далее ]"; длДалее=ДЛИНА(цДалее); ПЕР поле:Поле.Доступ; подложка:Подложка.Доступ; записка:Записка.Доступ; черта:Черта.Доступ; кнДалее:Кнопка.Доступ; УКАЗ (* вычисление местоположения кнопок *) ЕСЛИ длДалее > колонок ТО колонок:=длДалее КОН; (* создаём поле *) поле:=Поле.Создать(0,0,строк+4,колонок+4,окружение,ВКЛ,Приём); (* создаём наделы *) подложка:=Подложка.Создать(0,0,0,0,заголовок); записка:=Записка.Создать(1,2,-3,-2,текст); черта:=Черта.Создать(-3,0,1,0); кнДалее:=Кнопка.Создать(-2,1+(колонок-длДалее+1) ДЕЛИТЬ 2,цДалее,Поле.сДалее,ВКЛ); (* добавляем наделы в порядке отрисовки и получения ввода *) Поле.ДобавитьНадел(поле,подложка); Поле.ДобавитьНадел(поле,записка); Поле.ДобавитьНадел(поле,черта); Поле.ДобавитьНадел(поле,кнДалее); (* основная работа *) Поле.Рисовать(поле); ПОВТОРЯТЬ Поле.Проверить(поле) ДО поле.состояние # Поле.сРабота; (* восстанавливаем окружение *) Поле.Рисовать(окружение) КОН Выполнить; КОН ПолеСВосклицанием. |
▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com
|
|